In general, modern cloud microservices may deploy a centralized database to store service data. Unfortunately, this solution may encounter some challenges. First, the solution is not scalable. Second, the solution introduces synchronization requirements between instances of the microservice and the centralized database. Third, the solution may render high availability of the microservice contingent upon high availability of the centralized database. These challenges may introduce a separation between the microservice itself and the underlying data on which the microservice operates. In some examples, this solution may involve uninterrupted connection between instances of the microservice and the centralized database in order for the microservice to operate correctly.
To address the shortcomings of the centralized data store approach, some microservices may maintain a replicated data store for each instance of the microservice. Nevertheless, this approach faces increasing challenges in terms of synchronizing the data stores between the instances of the data stores as the microservice scales out and more instances are created. The instant disclosure, therefore, identifies and addresses a need for improved systems and methods for synchronizing microservice data stores. Other related systems and improvements are also discussed below.